package com.ruoyi.buss.customer.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.buss.customer.domain.DataCustomerInfo;
import com.ruoyi.buss.domain.customer.rsp.ResCustinfo;
import com.ruoyi.buss.grid.cj.domain.DataCustomerInfoVO;
import com.ruoyi.buss.qmcy.domain.QmcyCustPersonalInfo;

import com.sun.javafx.image.IntPixelGetter;
import org.apache.ibatis.annotations.Param;
import org.apache.poi.hssf.record.DVALRecord;

/**
 * 客户信息Mapper接口
 *
 * @author ruoyi
 * @date 2021-07-16
 */
public interface DataCustomerInfoMapper {
    /**
     * 查询客户信息
     *
     * @param id 客户信息ID
     * @return 客户信息
     */
    public DataCustomerInfo selectDataCustomerInfoById(String id);

    public DataCustomerInfo selectDataCustomerInfoByIdCard(String idCard);

    /**
     * 查询客户信息列表
     *
     * @param dataCustomerInfo 客户信息
     * @return 客户信息集合
     */
    public List<DataCustomerInfo> selectDataCustomerInfoList(DataCustomerInfo dataCustomerInfo);

    public List<DataCustomerInfo> selectCustomerInfoList(DataCustomerInfo dataCustomerInfo);

    public int ifStock(DataCustomerInfo dataCustomerInfo);

    /**
     * 新增客户信息
     *
     * @param dataCustomerInfo 客户信息
     * @return 结果
     */
    public int insertDataCustomerInfo(DataCustomerInfo dataCustomerInfo);

    /**
     * 修改客户信息(根据ID)
     *
     * @param dataCustomerInfo 客户信息
     * @return 结果
     */
    public int updateDataCustomerInfo(DataCustomerInfo dataCustomerInfo);

    /**
     * 修改客户信息(根据IdCard)
     *
     * @param dataCustomerInfo 客户信息
     * @return 结果
     */
    public int updateDataCustomerInfoByIdCard(DataCustomerInfo dataCustomerInfo);

    /**
     * 删除客户信息
     *
     * @param id 客户信息ID
     * @return 结果
     */
    public int deleteDataCustomerInfoById(String id);

    /**
     * 批量删除客户信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteDataCustomerInfoByIds(String[] ids);

    List<ResCustinfo> getCustInfo(String idCard);


    List<QmcyCustPersonalInfo> queryProductLabelList(@Param("idCard") String idCard);

    List<String> queryInfo(@Param("idCard") String idCard);

    List<DataCustomerInfo> queryBirthDayTadayZongHMore(DataCustomerInfo dataCustomerInfo);

    List<DataCustomerInfo> queryBirthDayTadayGgc(DataCustomerInfo dataCustomerInfo);

    List<Map<String, Object>> bt();

    List<Map<String, Object>> khLevelChange(@Param("idCard") String idCard);

    List<DataCustomerInfo> selectDataCustomerInfoListWithNetCard();

    void updateDataCustomerInfoWithNetCard(DataCustomerInfo dataCustomerInfo);


    List<DataCustomerInfo> findDataCustomerInfoList(DataCustomerInfo dataCustomerInfo);

    void updateCustomerLatLng(@Param("idCard") String idCard, @Param("lat") String lat, @Param("lng") String lng);

    List<DataCustomerInfo> findDataCustomerInfoNotLatAndLng(DataCustomerInfo dataCustomerInfo);
}
